package modelo.simulacion;

import java.util.ArrayList;
import java.util.Random;

public class Route {

	private String[] instrucciones = {"TurnRight","TurnLeft","Continue","Fin"};
	private ArrayList<String> ruta;
	private int currentStep;
	
	public Route() {
		
		currentStep = 0;
		ruta = new ArrayList<String>();
		generateRoute();
	}
	
	public String[] getInstrucciones() {
		return instrucciones;
	}

	public void setInstrucciones(String[] instrucciones) {
		this.instrucciones = instrucciones;
	}

	public ArrayList<String> getRuta() {
		return ruta;
	}

	public void setRuta(ArrayList<String> ruta) {
		this.ruta = ruta;
	}

	public int getCurrentStep() {
		return currentStep;
	}

	public void setCurrentStep(int currentStep) {
		this.currentStep = currentStep;
	}

	public void generateRoute() {
		
		int numSteps = 0;
		do {
			Random random = new Random();
			numSteps = random.nextInt(20);
		}while (numSteps < 10);
		for (int i=0;i<numSteps;i++) {
			Random r = new Random();
			int step = r.nextInt(instrucciones.length-2);
			ruta.add(instrucciones[step]);
		}
		ruta.add(instrucciones[instrucciones.length-1]);
	}
	
	public String getNextStep() {
		
		String resultado = ruta.get(currentStep);
		if (currentStep < ruta.size()-1)
			currentStep = currentStep + 1;
		return resultado;
	}
}
